home *** CD-ROM | disk | FTP | other *** search
/ Over 1,000 Windows 95 Programs / Over 1000 Windows 95 Programs (Microforum) (Disc 1).iso / 1271 / modem.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1997-03-18  |  12.8 KB  |  516 lines

  1. VERSION 2.00
  2. Begin Form MODEM 
  3.    AutoRedraw      =   -1  'True
  4.    BorderStyle     =   3  'Fixed Double
  5.    Caption         =   "MODEM"
  6.    ClientHeight    =   5595
  7.    ClientLeft      =   1890
  8.    ClientTop       =   2445
  9.    ClientWidth     =   8565
  10.    FontBold        =   0   'False
  11.    FontItalic      =   0   'False
  12.    FontName        =   "Courier New"
  13.    FontSize        =   8.25
  14.    FontStrikethru  =   0   'False
  15.    FontUnderline   =   0   'False
  16.    Height          =   6285
  17.    Left            =   1830
  18.    LinkTopic       =   "Form1"
  19.    ScaleHeight     =   5595
  20.    ScaleWidth      =   8565
  21.    Top             =   1815
  22.    Width           =   8685
  23.    Begin Timer Timer1 
  24.       Interval        =   125
  25.       Left            =   360
  26.       Top             =   240
  27.    End
  28.    Begin Menu menuLine 
  29.       Caption         =   "Line"
  30.       Begin Menu menuExit 
  31.          Caption         =   "Exit"
  32.       End
  33.       Begin Menu menuOnLine 
  34.          Caption         =   "OnLine"
  35.       End
  36.       Begin Menu menuOffLine 
  37.          Caption         =   "OffLine"
  38.          Enabled         =   0   'False
  39.       End
  40.    End
  41.    Begin Menu menuChange 
  42.       Caption         =   "Change"
  43.       Begin Menu menuPort 
  44.          Caption         =   "Port"
  45.          Begin Menu menuCOM1 
  46.             Caption         =   "COM1"
  47.             Checked         =   -1  'True
  48.          End
  49.          Begin Menu menuCOM2 
  50.             Caption         =   "COM2"
  51.          End
  52.          Begin Menu menuCOM3 
  53.             Caption         =   "COM3"
  54.          End
  55.          Begin Menu menuCOM4 
  56.             Caption         =   "COM4"
  57.          End
  58.       End
  59.       Begin Menu menuBaud 
  60.          Caption         =   "Baud"
  61.          Begin Menu menu110 
  62.             Caption         =   "110"
  63.          End
  64.          Begin Menu menu300 
  65.             Caption         =   "300"
  66.          End
  67.          Begin Menu menu1200 
  68.             Caption         =   "1200"
  69.          End
  70.          Begin Menu menu2400 
  71.             Caption         =   "2400"
  72.          End
  73.          Begin Menu menu4800 
  74.             Caption         =   "4800"
  75.          End
  76.          Begin Menu menu9600 
  77.             Caption         =   "9600"
  78.          End
  79.          Begin Menu menu19200 
  80.             Caption         =   "19200"
  81.             Checked         =   -1  'True
  82.          End
  83.          Begin Menu menu38400 
  84.             Caption         =   "38400"
  85.          End
  86.          Begin Menu menu57600 
  87.             Caption         =   "57600"
  88.          End
  89.       End
  90.       Begin Menu menuParity 
  91.          Caption         =   "Parity"
  92.          Begin Menu menuNone 
  93.             Caption         =   "None"
  94.             Checked         =   -1  'True
  95.          End
  96.          Begin Menu menuEven 
  97.             Caption         =   "Even"
  98.          End
  99.          Begin Menu menuOdd 
  100.             Caption         =   "Odd"
  101.          End
  102.       End
  103.       Begin Menu menuDataBits 
  104.          Caption         =   "DataBits"
  105.          Begin Menu menuSeven 
  106.             Caption         =   "Seven"
  107.          End
  108.          Begin Menu menuEight 
  109.             Caption         =   "Eight"
  110.             Checked         =   -1  'True
  111.          End
  112.       End
  113.       Begin Menu menuStopBits 
  114.          Caption         =   "StopBits"
  115.          Begin Menu menuOne 
  116.             Caption         =   "One"
  117.             Checked         =   -1  'True
  118.          End
  119.          Begin Menu menuTwo 
  120.             Caption         =   "Two"
  121.          End
  122.       End
  123.    End
  124.    Begin Menu menuStatus 
  125.       Caption         =   "Status"
  126.       Enabled         =   0   'False
  127.    End
  128.    Begin Menu menuControl 
  129.       Caption         =   "Control"
  130.       Enabled         =   0   'False
  131.       Begin Menu menuDTR 
  132.          Caption         =   "DTR"
  133.          Begin Menu menuSetDTR 
  134.             Caption         =   "Set"
  135.             Checked         =   -1  'True
  136.             Enabled         =   0   'False
  137.          End
  138.          Begin Menu menuClearDTR 
  139.             Caption         =   "Clear"
  140.          End
  141.       End
  142.       Begin Menu menuRTS 
  143.          Caption         =   "RTS"
  144.          Begin Menu menuSetRTS 
  145.             Caption         =   "Set"
  146.             Checked         =   -1  'True
  147.             Enabled         =   0   'False
  148.          End
  149.          Begin Menu menuClearRTS 
  150.             Caption         =   "Clear"
  151.          End
  152.       End
  153.    End
  154.    Begin Menu menuFlow 
  155.       Caption         =   "Flow_Control"
  156.       Enabled         =   0   'False
  157.       Begin Menu menuHardware 
  158.          Caption         =   "Hardware"
  159.       End
  160.       Begin Menu menuSoftware 
  161.          Caption         =   "Software"
  162.       End
  163.       Begin Menu menuNoFlow 
  164.          Caption         =   "NONE"
  165.          Checked         =   -1  'True
  166.       End
  167.    End
  168.    Begin Menu menuDebug 
  169.       Caption         =   "DEBUG"
  170.    End
  171. ' MODEM.BAS
  172. Option Explicit
  173. Sub Form_KeyPress (KeyAscii As Integer)
  174.     Dim Code As Integer
  175.     '''MODEM.Print "["; Hex$(KeyAscii); "]";
  176.     If KeyAscii <> 10 Then
  177.       Code = SioPutc(ThePort, KeyAscii)
  178.     End If
  179. End Sub
  180. Sub Form_Load ()
  181.     Dim Row As Integer
  182.     DataFlag = 0
  183.     ParityText(0) = "N"
  184.     ParityText(1) = "O"
  185.     ParityText(2) = "E"
  186.     ParityText(3) = "M"
  187.     ParityText(4) = "S"
  188.     BaudRateTable(0) = "110"
  189.     BaudRateTable(1) = "300"
  190.     BaudRateTable(2) = "1200"
  191.     BaudRateTable(3) = "2400"
  192.     BaudRateTable(4) = "4800"
  193.     BaudRateTable(5) = "9600"
  194.     BaudRateTable(6) = "19200"
  195.     BaudRateTable(7) = "38400"
  196.     BaudRateTable(8) = "57600"
  197.     FatalFlag = 0
  198.     ThePort = COM1
  199.     TheBaudCode = Baud19200
  200.     TheDataBits = WordLength8
  201.     TheStopBits = OneStopBit
  202.     TheParity = NoParity
  203.     OnLineFlag = 0
  204.     Call ShowConfig
  205.     Call DisplayInit(MODEM)
  206. End Sub
  207. Sub menu110_Click ()
  208.   Call UncheckBaudRate
  209.   menu110.Checked = True
  210.   TheBaudCode = Baud110
  211.   Call SetBaud
  212.   Call ShowConfig
  213. End Sub
  214. Sub menu1200_Click ()
  215.   Call UncheckBaudRate
  216.   menu1200.Checked = True
  217.   TheBaudCode = Baud1200
  218.   Call SetBaud
  219.   Call ShowConfig
  220. End Sub
  221. Sub menu19200_Click ()
  222.   Call UncheckBaudRate
  223.   menu19200.Checked = True
  224.   TheBaudCode = Baud19200
  225.   Call SetBaud
  226.   Call ShowConfig
  227. End Sub
  228. Sub menu2400_Click ()
  229.   Call UncheckBaudRate
  230.   menu2400.Checked = True
  231.   TheBaudCode = Baud2400
  232.   Call SetBaud
  233.   Call ShowConfig
  234. End Sub
  235. Sub menu300_Click ()
  236.   Call UncheckBaudRate
  237.   menu300.Checked = True
  238.   TheBaudCode = Baud300
  239.   Call SetBaud
  240.   Call ShowConfig
  241. End Sub
  242. Sub menu38400_Click ()
  243.   Call UncheckBaudRate
  244.   menu38400.Checked = True
  245.   TheBaudCode = Baud38400
  246.   Call SetBaud
  247.   Call ShowConfig
  248. End Sub
  249. Sub menu4800_Click ()
  250.   Call UncheckBaudRate
  251.   menu4800.Checked = True
  252.   TheBaudCode = Baud4800
  253.   Call SetBaud
  254.   Call ShowConfig
  255. End Sub
  256. Sub menu57600_Click ()
  257.   Call UncheckBaudRate
  258.   menu57600.Checked = True
  259.   TheBaudCode = Baud57600
  260.   Call SetBaud
  261.   Call ShowConfig
  262. End Sub
  263. Sub menu9600_Click ()
  264.   Call UncheckBaudRate
  265.   menu9600.Checked = True
  266.   TheBaudCode = Baud9600
  267.   Call SetBaud
  268.   Call ShowConfig
  269. End Sub
  270. Sub menuClearDTR_Click ()
  271.   Dim Code As Integer
  272.   'clear DTR
  273.   Code = SioDTR(ThePort, Asc("C"))
  274.   menuSetDTR.Checked = False
  275.   menuClearDTR.Checked = True
  276.   menuSetDTR.Enabled = True
  277.   menuClearDTR.Enabled = False
  278. End Sub
  279. Sub menuClearRTS_Click ()
  280.   Dim Code As Integer
  281.   'clear RTS
  282.   Code = SioRTS(ThePort, Asc("C"))
  283.   menuSetRTS.Checked = False
  284.   menuClearRTS.Checked = True
  285.   menuSetRTS.Enabled = True
  286.   menuClearRTS.Enabled = False
  287. End Sub
  288. Sub menuCOM1_Click ()
  289.   Call UncheckComPorts
  290.   menuCOM1.Checked = True
  291.   ThePort = COM1
  292.   Call ShowConfig
  293. End Sub
  294. Sub menuCOM2_Click ()
  295.   Call UncheckComPorts
  296.   menuCOM2.Checked = True
  297.   ThePort = COM2
  298.   Call ShowConfig
  299. End Sub
  300. Sub menuCOM3_Click ()
  301.   Call UncheckComPorts
  302.   menuCOM3.Checked = True
  303.   ThePort = COM3
  304.   Call ShowConfig
  305. End Sub
  306. Sub menuCOM4_Click ()
  307.   Call UncheckComPorts
  308.   menuCOM4.Checked = True
  309.   ThePort = COM4
  310.   Call ShowConfig
  311. End Sub
  312. Sub menuData_Click ()
  313. DataFlag = 1 - DataFlag
  314. End Sub
  315. Sub menuDebug_Click ()
  316. Dim I, Code As Integer
  317. Dim S As String
  318. 'send alphabet 10 times
  319. S = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + Chr$(13) + Chr$(10)
  320. For I = 1 To 10
  321.   Code = SioPuts(ThePort, S, 28)
  322. Next I
  323. End Sub
  324. Sub menuEight_Click ()
  325.   Call UncheckDataBits
  326.   menuEight.Checked = True
  327.   TheDataBits = WordLength8
  328.   Call ShowConfig
  329. End Sub
  330. Sub menuEven_Click ()
  331.   Call UncheckParity
  332.   menuEven.Checked = True
  333.   TheParity = EvenParity
  334.   Call ShowConfig
  335. End Sub
  336. Sub menuExit_Click ()
  337.   Call GoOffLine
  338.   End
  339. End Sub
  340. Sub menuHardware_Click ()
  341. Dim Code As Integer
  342. Code = SioFlow(ThePort, Asc("H"))
  343. Call DisplayLine(MODEM, "[Hardware flow control enabled]")
  344. menuHardware.Checked = True
  345. menuSoftware.Checked = False
  346. menuNoflow.Checked = False
  347. End Sub
  348. Sub menuNoFlow_Click ()
  349. Dim Code As Integer
  350. Code = SioFlow(ThePort, Asc("N"))
  351. Call DisplayLine(MODEM, "[Flow control disabled]")
  352. menuHardware.Checked = False
  353. menuSoftware.Checked = False
  354. menuNoflow.Checked = True
  355. End Sub
  356. Sub menuNone_Click ()
  357.   Call UncheckParity
  358.   menuNone.Checked = True
  359.   TheParity = NoParity
  360.   Call ShowConfig
  361. End Sub
  362. Sub menuOdd_Click ()
  363.   Call UncheckDataBits
  364.   menuOdd.Checked = True
  365.   TheParity = OddParity
  366.   Call ShowConfig
  367. End Sub
  368. Sub menuOffLine_Click ()
  369.   '''menuChange.Enabled = True
  370.   menuOffline.Enabled = False
  371.   menuOnline.Enabled = True
  372.   Call GoOffLine
  373.   Call ShowConfig
  374. End Sub
  375. Sub menuOne_Click ()
  376.   Call UncheckStopBits
  377.   menuOne.Checked = True
  378.   TheStopBits = OneStopBit
  379.   Call ShowConfig
  380. End Sub
  381. Sub menuOnLine_Click ()
  382.   menuOffline.Enabled = True
  383.   menuOnline.Enabled = False
  384.   Call DisplayInit(MODEM)
  385.   Call GoOnLine
  386.   Call ShowConfig
  387. End Sub
  388. Sub menuSet_Click ()
  389. End Sub
  390. Sub menuSetDTR_Click ()
  391.   Dim Code As Integer
  392.   If OnLineFlag = 0 Then
  393.     Call DisplayLine(MODEM, "[Not online!]")
  394.     Exit Sub
  395.   End If
  396.   'set DTR
  397.   Code = SioDTR(ThePort, Asc("S"))
  398.   menuSetDTR.Checked = True
  399.   menuClearDTR.Checked = False
  400.   menuSetDTR.Enabled = False
  401.   menuClearDTR.Enabled = True
  402. End Sub
  403. Sub menuSetRTS_Click ()
  404.   Dim Code As Integer
  405.   'set DTR
  406.   Code = SioRTS(ThePort, Asc("S"))
  407.   menuSetRTS.Checked = True
  408.   menuClearRTS.Checked = False
  409.   menuSetRTS.Enabled = False
  410.   menuClearRTS.Enabled = True
  411. End Sub
  412. Sub menuSeven_Click ()
  413.   Call UncheckDataBits
  414.   menuSeven.Checked = True
  415.   TheDataBits = WordLength7
  416.   Call ShowConfig
  417. End Sub
  418. Sub menuSoftware_Click ()
  419. Dim Code As Integer
  420. Code = SioFlow(ThePort, Asc("S"))
  421. Call DisplayLine(MODEM, "[Software flow control enabled]")
  422. menuHardware.Checked = False
  423. menuSoftware.Checked = True
  424. menuNoflow.Checked = False
  425. End Sub
  426. Sub menuStatus_Click ()
  427. Dim S As String
  428. Dim N As Integer
  429. N = SioStatus(ThePort, &HFFFF)
  430. 'framing error ?
  431. If (WSC_FRAME And N) > 0 Then
  432.   Call DisplayLine(MODEM, "[Framing error]")
  433. End If
  434. 'overrun error ?
  435. If (WSC_OVERRUN And N) > 0 Then
  436.   Call DisplayLine(MODEM, "[Data overrun error]")
  437. End If
  438. 'parity error ?
  439. If (WSC_PARITY And N) > 0 Then
  440.   Call DisplayLine(MODEM, "[Data parity error]")
  441. End If
  442. 'RX overflow
  443. If (WSC_RXOVER And N) > 0 Then
  444.   Call DisplayLine(MODEM, "[Receive queue overflow]")
  445. End If
  446. 'TX overflow
  447. If (WSC_TXFULL And N) > 0 Then
  448.   Call DisplayLine(MODEM, "[Transmit queue overflow]")
  449. End If
  450. 'Show TX & RX queue sizes
  451. S = "[RX queue size =" + Str$(SioRxQue(ThePort))
  452. S = S + ", TX queue size =" + Str$(SioTxQue(ThePort)) + "]"
  453. Call DisplayLine(MODEM, S)
  454. 'BREAK signal status
  455. If SioBrkSig(ThePort, Asc("D")) > 0 Then
  456.   Call DisplayLine(MODEM, "[BREAK detected]")
  457. End If
  458. 'DSR status
  459. If SioDSR(ThePort) > 0 Then
  460.   Call DisplayLine(MODEM, "[DSR = 1]")
  461.   Call DisplayLine(MODEM, "[DSR = 0]")
  462. End If
  463. 'CTS status
  464. If SioCTS(ThePort) > 0 Then
  465.   Call DisplayLine(MODEM, "[CTS = 1]")
  466.   Call DisplayLine(MODEM, "[CTS = 0]")
  467. End If
  468. End Sub
  469. Sub menuTwo_Click ()
  470.   Call UncheckStopBits
  471.   menuTwo.Checked = True
  472.   TheStopBits = TwoStopBits
  473.   Call ShowConfig
  474. End Sub
  475. Sub Timer1_Timer ()
  476.   If OnLineFlag Then
  477.     'get incoming serial data
  478.     Call GetIncoming
  479.   End If
  480. End Sub
  481. Sub UncheckBaudRate ()
  482. 'uncheck all baud rates
  483. menu110.Checked = False
  484. menu300.Checked = False
  485. menu1200.Checked = False
  486. menu2400.Checked = False
  487. menu4800.Checked = False
  488. menu9600.Checked = False
  489. menu19200.Checked = False
  490. menu38400.Checked = False
  491. menu57600.Checked = False
  492. End Sub
  493. Sub UncheckComPorts ()
  494. 'uncheck all COM ports
  495. menuCOM1.Checked = False
  496. menuCOM2.Checked = False
  497. menuCOM3.Checked = False
  498. menuCOM4.Checked = False
  499. End Sub
  500. Sub UncheckDataBits ()
  501. 'uncheck data bits
  502. menuSeven.Checked = False
  503. menuEight.Checked = False
  504. End Sub
  505. Sub UncheckParity ()
  506. 'uncheck parity
  507. menuOdd.Checked = False
  508. menuEven.Checked = False
  509. menuTwo.Checked = False
  510. End Sub
  511. Sub UncheckStopBits ()
  512. 'uncheck stop bits
  513. menuOne.Checked = False
  514. menuNone.Checked = False
  515. End Sub
  516.